// ==UserScript==
// @name         显示正确答案及自动播放
// @namespace    http://tampermonkey.net/
// @version      1.3.2
// @description  自动在页面上显示正确答案
// @author       -
// @match        https://stu.5zk.com.cn/*
// @grant        none
// @description  2024/2/27 23:00:00
// @updateURL    https://gitee.com/kliuoi/devops/raw/master/Tampermonkey/显示正确答案及自动播放.user.js
// ==/UserScript==

(function () {
    'use strict';

    // 等待页面完全加载
    window.addEventListener('load', function () {
        // 视频播放状态, 0为播放中, 1为播放结束
        let video_play_status = 0;
        // 初始化函数
        function func_init() {
            console.log('初始化函数运行中...');

            // 允许复制
            $('body').removeAttr('oncopy');
            $('body').removeAttr('oncut');
            $('body').removeAttr('onselectstart');
            $('body').css({ "-moz-user-select": "auto" });
            $('.luanma').remove();

            // 重写alert，防止alert弹出
            window.alert = function (message) {
                // 把alert的内容在控制台打印出来
                console.log(message);
                // 设置播放状态为播放结束
                video_play_status = 1;
            };
        };

        // 答题函数
        function func_resolve() {
            console.log('答题函数运行中...');

            // 显示正确答案
            $('#resolve').css({ "display": "block" });
        }

        // 视频播放相关函数
        function func_video_play() {
            console.log('视频播放函数运行中...');

            // 自动播放
            setTimeout(function () {
                // 点击播放
                // if ($("#player-container-id").length > 0) {
                //     // 点击播放按钮
                //     $('#player-container-id_html5_api')[0].play();
                // };

                if ($('.u-edu-h5player-pcdisplay:first')[0]) {
                    console.log("edu模式运行");
                    // $('.u-edu-h5player-pcdisplay:first')[0].click();
                    // 和上面这句没区别
                    var clickEvent = new MouseEvent("click", {
                        bubbles: true,
                        cancelable: true,
                        view: window
                    });
                    $('.u-edu-h5player-pcdisplay:first')[0].dispatchEvent(clickEvent);
                } else {
                    console.log("tcplayer模式运行");
                    $('#player-container-id_html5_api')[0].play();
                };

            }, 3000);

            // 循环判断播放是否结束
            let val_video_play = setInterval(() => {
                // 判断视频是否播放完
                if (video_play_status == 1) {
                    console.log("播放结束");
                    // 播放结束自动播放下一题
                    let play_next_url = $("ul.list-activity li:has(i.si-control-play)").next('li').children('div.font-w200').children('a')
                    play_next_url.get()[0].click()
                    clearInterval(val_video_play);
                } else {
                    console.log("播放中");
                };
            }, 4000);
        };

        func_init();
        // 判断是否在答题界面
        if ($('#resolve').length > 0) {
            func_resolve();
        };
        // 延迟执行视频播放函数
        setTimeout(function () {
            func_video_play();
        }, 1000);
    });
})();